home *** CD-ROM | disk | FTP | other *** search
/ 3D Games - Real-time Rend…ng & Software Technology / 3D Games - Real-time Rendering & Software Technology.iso / flysdk / plugin / menu / menu.h < prev   
Encoding:
C/C++ Source or Header  |  2000-01-20  |  1.6 KB  |  82 lines

  1. enum classes_types
  2. {
  3.     TYPE_MENUGROUP=0x180,
  4.     TYPE_MENUITEM,
  5.     TYPE_MENUCAMERA,
  6. };
  7.  
  8. class menugroup;
  9. class menuitem;
  10. class menucamera;
  11.  
  12. class menugroup : public bsp_object
  13. {
  14. public:
  15.     menugroup() { type=TYPE_MENUGROUP; selitem=0; };
  16.  
  17.     int nitem;
  18.     menuitem *item[8];
  19.     float height;
  20.     int selitem;
  21.  
  22.     int step(int dt) { return 1; };
  23.     void draw();
  24.     int get_custom_param_desc(int i,param_desc *pd);
  25.     bsp_object *clone();
  26. };
  27. class menuitem : public bsp_object
  28. {
  29. public:
  30.     menuitem() { type=TYPE_MENUITEM; };
  31.  
  32.     float width;
  33.     float height;
  34.     int texture;
  35.     vector color;
  36.     char command[256];
  37.  
  38.     void draw();
  39.     int get_custom_param_desc(int i,param_desc *pd);
  40.     bsp_object *clone();
  41. };
  42. class menucamera : public bsp_object
  43. {
  44. public:
  45.     menucamera() { type=TYPE_MENUCAMERA; keystatus=0; };
  46.  
  47.     bsp_object *target;
  48.     float rotvel;
  49.     int keystatus;
  50.     light *l;
  51.     dyn_sound *sndchangesel;
  52.     dyn_sound *sndselect;
  53.  
  54.     int step(int dt);
  55.     int get_custom_param_desc(int i,param_desc *pd);
  56.     bsp_object *clone();
  57. };
  58.  
  59. class menugroup_desc : public class_desc
  60. {
  61. public:
  62.     void *create() { return new menugroup; };
  63.     char *get_name() { return "menugroup"; };
  64.     int get_type() { return TYPE_MENUGROUP; };
  65. };
  66. class menuitem_desc : public class_desc
  67. {
  68. public:
  69.     void *create() { return new menuitem; };
  70.     char *get_name() { return "menuitem"; };
  71.     int get_type() { return TYPE_MENUITEM; };
  72. };
  73. class menucamera_desc : public class_desc
  74. {
  75. public:
  76.     void *create() { return new menucamera; };
  77.     char *get_name() { return "menucamera"; };
  78.     int get_type() { return TYPE_MENUCAMERA; };
  79. };
  80.  
  81.  
  82.